1. Technical Field
The invention is related to automated communications between network enabled mobile devices, and in particular, to a system for automatically validating one or more information requests received by a mobile device and responding with the requested information to one or more authorized requesting devices.
2. Related Art
In general, many portable electronic devices (also referred to herein as “portable computing devices”), such as, for example, cell phones, PDA's, media players, portable computers, etc., include device-to-device communications capabilities across one or more wired or wireless networks (such as a GSM-based cell phone network, for example), the Internet, or direct device-to-device linking via either wired or wireless connections (such as IR or Bluetooth™ based communications, for example). Further, many such devices contain sufficient computing power and storage to run at least basic applications and maintain fairly large amounts of data storage. In fact, many new portable electronic devices, such as some cell phones, for example, now include more computing power, more storage capability, and more memory than the PC-type desktop computers of only ten years ago. Clearly, these portable electronic devices are becoming increasingly powerful in terms of network connectivity, processing power, data storage and messaging capabilities, and it is likely that this trend will continue into the future.
Further, many portable electronic devices now combine the features of many different devices into a single device. A simple example of this type of hybrid device is a typical “cell phone” that includes features which allow the user to capture photographs, play media files, send and receive voice, text, and data messages, determine a present GPS location, run local applications, and to potentially store many gigabytes of data. Increasingly, people use such devices to store and access important information including personal or professional contacts or addresses, electronic calendars or schedules, data files, etc.
In many scenarios, it is important for one person (or device) to be aware of information being stored on (or accessible to) the device of another person. For example, it is often useful for one coworker to know the schedule of a fellow coworker in order to schedule a meeting. While this schedule information may already be stored on, or otherwise available to a portable electronic device (in a “calendar” type application, for example) carried by one person, it will not typically be available to other users or other devices.
Unfortunately, conventional communication patterns involving portable electronic devices (e.g., phone calls, SMS messaging, email, etc.) are designed for one-to-one “push” type communications where devices send data back and forth to each other in response to inputs from their respective users. Another limitation of this type of conventional communication is that that data being exchanged (via voice, SMS, email, etc.) aren't “typed” and thus the communication cannot be easily automated. For example, such back and forth data transfers typically involve a text message or phone call made from a first electronic device to a second electronic device, followed either by a verbal response or manually initiated data transfer directed by the user of the second device back to the first device. Clearly, as the number of users and devices increases, such requests and responses can begin to consume large amounts of the user's valuable time.
Further, the bandwidth necessary to transfer data using such methods can be excessive relative to the actual data desired. For example, if a first user wants to know what times a calendar maintained on the electronic device of a second user shows the second user as free, the actual data needed may be as small as a single line of text information. However, a large amount of bandwidth is needed for the first user to call the second user (e.g., a cell phone call) to ask for the information, then for the second user to send that information to the electronic device of the first user. Clearly, the bandwidth required by this scenario is significantly greater than if the electronic device of the second user could have sent that information to the electronic device of the first user without the phone call having been placed by the first user to the second user. Again, as the number of users and electronic devices increases, such requests and responses can begin to consume large amounts of user's valuable time, and increasing amounts of valuable bandwidth.